The present invention relates to a force and position controlling apparatus for a multiple-degree-of-freedom working machine, such as an industrial robot, a machine tool, or the like having at least two degrees of freedom of position. More particularly, the present invention is concerned with a position/force controlling apparatus for controlling a multiple-degree-of-freedom working machine such as an industrial robot, a machine tool or the like capable of performing curved surface profiling operations such as deburring, polishing, and so forth.
Most current industrial robots and automatic machine tools are designed to operate only in position control in which the position of a specific portion of the robot or the tool is controlled in accordance with position information. On the other hand, there are operations which require the control of the manner in which force is applied. Such a control essentially requires that both the position and the force be controlled, and various studies have been made to develop systems which will meet such a demand. A typical example of such systems known as "hybrid control method" is capable of operating both in a position control and a force control mode while conducting change-over between these two modes for each of the coordinate axes. In another control method referred to as "compliance control method", control is executed by setting a certain "spring" relation between position and force.
In recent years, a system referred to as "virtual compliance control method" has been proposed as disclosed, for example, in "Papers of Society of Measuring and Automatic Control Engineering", vol 22, No. 3 (1986) pp 343-350, and Japanese Patent Unexamined Publication Nos. 60-3010 and 61-7905. This control method is to imaginarily realize a dynamic system model composed of a spring factor, a mass factor and a damper factor.
More specifically, this system relies upon the following formula of dynamic system: EQU mX+cX+k.DELTA.X=f
In operation, suitable values are set as the values of m, c and k and the operation is simulated by software, and the control is effected such as to realize the movement. In order to execute this control on a system having multiple degrees of freedom, values for the factors m, c and k can be varied for each axis of a coordinate system, so that the operation characteristic can be determined independently for each of the coordinate axes. If the factor K is set as being 0 (zero), position feedback function is eliminated so that the control is effected only in the force control mode. Conversely, increase in the values of the factors k and c reduces the force feedback so that the control is performed only in position control mode. It will be seen that this method utilizes the hybrid control method. Thus, the virtual compliance control method is a control method which is a combination of the hy-brid control method and the compliance control method.
Unfortunately, however, no specific consideration has been given to the method of setting a coordinate system for the control computation in known systems which make use of the virtual compliance control method, with the result that the desired accuracy and efficiency of the operation are not attained depending on the type of the operation.
For instance, such problems are encountered by an industrial robot which is designed to be controlled both in a position control mode and a force control mode for conducting a curved surface profiling operation for the purpose of polishing or deburring of a curved surface. In such a case, the end effector of the robot is controlled to move along the work surface, i.e., to profile the work surface. The levels of force and moment applied to the end effector are detected by a force sensor. The case is considered whether the curved surface profiling operation is performed by making use of a virtual compliance control method. It is assumed here that the end effector is moved in X-axis direction, while the axis of the end effector extends in Z-axis direction. The operation will be explained on the basis of a two-dimensional plane defined by X-Z axes. For instance, the values of the factors k and c are increased in the X-axis direction to stiffen the system whereby the end effector is controlled in the position control mode so as to be fed at a velocity of VX, while the value of the factor k is set to 0 (zero) in the Z-axis direction to remove restriction of position, whereby the end effector is controlled in the force control mode so as to be pressed at a command force fr. The force level detected by the sensor in this state is represented by f.
In this case, the end effector moves in the Z-axis direction in such a manner as to simulate the following formula: EQU mvz+cvz=f-fr
In the steady condition in which there is no change in the velocity, a condition of cvz=f-fr is met. It is understood that a force error .DELTA.f=f-fr has to be given in order to generate the velocity vz at which the end effector profiles a curved surface. If the velocity vx of feed in the X-axis direction is constant, the velocity vz changes in proportion to the gradient of the curved surface, so that the force error of .DELTA.f also varies in proportion to the gradient of the curved surface. In consequence, the pressing force -f varies according to the gradient of the curved surface. Representing the force error allowed in the profiling operation by .DELTA.of, the gradient which can be followed in steady condition is derived from the following condition: ##EQU1##
An increase in the factor 1/c increases the upper limit of the gradient of curved surface which can be followed up by the end effector. The factor 1/c, however, is a gain of the velocity to the force, i.e., the condition of v=1/c f is met, so that an increase in this factor causes hunting of operation in the control system. From this point of view, it is necessary that the factor 1/c takes a small value. This means that the feed velocity vx has to be decreased for a curved surface of a large gradient, resulting in an impractically low efficiency of operation.
Thus, a practical limit exists in controlling an end effector in such a way as to profile any desired curved surface, with the conventional method of setting the coordinate system.
In another known method, the profile of a curved surface is described in terms of command values, and the values of the factors k and c are so determined as to provide a virtual spring which absorbs error in the description (teaching), error attributable to wear of tool and the error due to dimensional fluctuation of the operation. In such a case, it is necessary that a virtual spring be provided to act not only in the Z-axis direction but also in the X-axis direction, in order to absorb the abovementioned errors on the curved surface. In this method, therefore, a certain influence of the spring is caused in the direction of feed, with the result that the error between the command position and the actual position is increased to hamper the operation. In particular, in the region where the curvature of the surface varies largely, the direction of feed is changed while the error of the position is large, so that troubles such as excessive cutting tend to occur.
Accordingly, an object of the present invention is to provide a position/force control apparatus for use with a multiple-degree-of-freedom working machine improved in such a way as to allow the setting of any desired coordinate system so as to attain adequate and efficient operations, thereby overcoming the above-described problems of the prior art.